package cn.iocoder.yudao.module.reading.service.auth;

import cn.iocoder.yudao.module.reading.controller.app.auth.vo.ReadingLoginReqVO;
import cn.iocoder.yudao.module.reading.controller.app.auth.vo.ReadingLoginRespVO;
import cn.iocoder.yudao.module.reading.controller.app.auth.vo.ReadingRegisterReqVO;
import cn.iocoder.yudao.module.reading.controller.app.auth.vo.ReadingWxLoginReqVO;

import jakarta.validation.Valid;

/**
 * 绘本阅读认证 Service 接口
 *
 * @author 李晨
 */
public interface AuthService {

    /**
     * 用户登录
     *
     * @param reqVO 登录信息
     * @return 登录结果
     */
    ReadingLoginRespVO login(@Valid ReadingLoginReqVO reqVO);

    /**
     * 用户注册
     *
     * @param reqVO 注册信息
     * @return 登录结果
     */
    ReadingLoginRespVO register(@Valid ReadingRegisterReqVO reqVO);

    /**
     * 微信登录
     *
     * @param reqVO 微信登录信息
     * @return 登录结果
     */
    ReadingLoginRespVO wxLogin(@Valid ReadingWxLoginReqVO reqVO);

    /**
     * 退出登录
     *
     * @param token 访问令牌
     */
    void logout(String token);

}
